Executing Java threads in parallel in a distributed-memory environment
نویسندگان
چکیده
We present the design and initial implementation of Hyperion, an environment for the high-performance execution of Java programs. Hy-perion supports high performance by utilizing a Java-bytecode-to-C translator and by supporting parallel execution via the distribution of Java threads across the multiple processors of a cluster of Linux machines. The Hyperion run-time system implements the Java memory model using an eecient communication sub-strate previously developed for Linux and Fast Ethernet switches. We include initial performance results from using Hyperion to execute two standard benchmark programs.
منابع مشابه
Implementing Java Consistency Using a Generic, Multithreaded DSM Runtime System
This paper describes the implementation of Hyperion, an environment for executing Java programs on clusters of computers. To provide high performance, the environment compiles Java bytecode to native code and supports the concurrent execution of Java threads on multiple nodes of a cluster. The implementation uses the PM2 distributed, multithreaded runtime system. PM2 provides lightweight thread...
متن کاملA Message-Passing Distributed Memory Parallel Algorithm for a Dual-Code Thin Layer, Parabolized Navier-Stokes Solver
In this study, the results of parallelization of a 3-D dual code (Thin Layer, Parabolized Navier-Stokes solver) for solving supersonic turbulent flow around body and wing-body combinations are presented. As a serial code, TLNS solver is very time consuming and takes a large part of memory due to the iterative and lengthy computations. Also for complicated geometries, an exceeding number of grid...
متن کاملThread Migration on Distributed-memory Multiprocessors
Executing multi-threaded programs on multiproces-sors can exploit the inherent parallelism among threads. However, the load imbalance and frequent remote data access factors may degrade the performance in distributed-memory parallel systems. To cope with these problems, one of the solutions is to enhance threads with dynamic migration capability. This paper describes our experiences with the de...
متن کاملData Parallelism in Java
Java supports threads and remote method invocation but it does neither support data parallel nor distributed programming. This paper discusses Java's shortcomings with respect to data parallel programming. It then presents countermeasures that allow for data parallel programming in Java. The technical contributions of this paper are twofold: a source-to-source transformation is presented that m...
متن کاملEnabling Java for High-Performance Computing: Exploiting Distributed Shared Memory and Remote Method Invocation
Java has become increasingly popular as a general-purpose programming language. Current Java implementations mainly focus on portability and interoperability, which is required for Internet-centric client/server computing. Key to Java’s success is its intermediate “bytecode” representation that can be exchanged and executed by Java Virtual Machines (JVMs) on almost any computing platform. Along...
متن کامل